package com.bcbim.smart_water.maintenance.mapper;

import com.bcbim.common.sys.Code;
import com.bcbim.smart_water_interface.health.dto.HealthMaintenanceDTO;
import com.bcbim.smart_water_interface.health.vo.HealthMaintenanceVO;
import com.bcbim.smart_water_interface.maintenance.dao.MaintenanceDAO;
import com.bcbim.smart_water_interface.maintenance.dto.MaintenanceDTO;
import com.bcbim.smart_water_interface.maintenance.vo.ListMaintenanceVO;
import com.bcbim.smart_water_interface.maintenance.vo.MaintenanceVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Description: 养护数据列表mapper
 * @Author XueHao
 * @Date 2021/8/26
 * @Version V1.0
 **/
@Mapper
public interface MaintenanceMapper {

    /**
     * @Description 新增养护数据
     * @Author XueHao
     * @Date 2021/8/26
     * @return int
     */
    int insertMaintenance(MaintenanceDAO maintenanceDAO);

    /**
     * @Description 更新养护数据
     * @Author XueHao
     * @Date 2021/8/26
     * @return int
     */
    int updateMaintenance(MaintenanceDAO maintenanceDAO);

    /**
     * @Description 查询养护数据列表条数
     * @Author XueHao
     * @Date 2021/8/26
     * @return int
     */
    int countListMaintenance(MaintenanceDTO maintenanceDTO);

    /**
     * @Description 查询养护数据列表
     * @Author XueHao
     * @Date 2021/8/26 
     * @return List<MaintenanceVO>
     */
    List<ListMaintenanceVO> listMaintenance(MaintenanceDTO maintenanceDTO);

    /**
     * @Description 查询养护数据详情
     * @Author XueHao
     * @Date 2021/8/26
     * @return MaintenanceVO
     */
    MaintenanceVO getMaintenance(String id);

    /**
     * @Description 管线编号下拉
     * @Author XueHao
     * @Date 2021/8/27
     * @return List<Code>
     */
    List<Code> selectLineCode(String code);

    /**
     * @Description 执行人下拉列表
     * @Author XueHao
     * @Date 2021/8/27
     * @return List<Code>
     */
    List<Code> selectExecutor();

    /**
     * @Description: 健康检测 养护信息总数
     * @Param: HealthMaintenanceDTO
     * @Return: int
     * @Author: ye
     * @Date: 2021/8/30
     */
    int countHealthMaintenance(HealthMaintenanceDTO query);

    /**
     * @Description: 健康检测 养护信息
     * @Param: HealthMaintenanceDTO
     * @Return: List<HealthMaintenanceVO>
     * @Author: ye
     * @Date: 2021/8/30
     */
    List<HealthMaintenanceVO> listHealthMaintenance(HealthMaintenanceDTO query);
}


